PVM Policy Import
Overview
The PVM Policy Import uses a single fleet file. Each row represents one policy record. Rows are validated, transformed, grouped by VRM, and then imported to stock in Firestore through the policy import pipeline.
Files Required
pvmFleetFile.csv
File Format
Comma Separated Values -
*.csv
Encoding - UTF-8
PVM Fleet File
| Column | PVM Contract File values | ViSN Mapping | Max Length | Data Type | Validation / Format | Mandatory |
|---|---|---|---|---|---|---|
| A | stock profile | Ignored | - | - | Not used | No |
| B | vehicle type | Ignored | - | - | Not used | No |
| C | Version | Ignored | - | - | Not used | No |
| D | batch reference | Ignored | - | - | Not used | No |
| E | policy ref | Policy Number | 50 | string | Required | Yes |
| F | location | Purchase Location Code | 10 | string | Special characters allowed | No |
| G | issue date | Issue Date | 10 | date | DD/MM/YYYY | No |
| H | sales person | Sales Person | 150 | string | Special characters allowed | No |
| I | hr number | Policy Hr. no | 150 | string | Special characters allowed | No |
| J | title | Policy Holder Title | 10 | string | Special characters allowed | No |
| K | firstname | First Name of Policy Holder | 100 | string | Special characters allowed | No |
| L | surname | Last Name of Policy Holder | 100 | string | Special characters allowed | No |
| M | hometel | Policy Holder Phone (Home) | 11 | string | Alphanumeric characters allowed | No |
| N | worktel | Policy Holder Phone (Work) | 11 | string | Alphanumeric characters allowed | No |
| O | mobiletel | Policy Holder Mobile | 11 | string | Alphanumeric characters allowed | No |
| P | emailaddr | Policy Holder Email Address | 50 | string | Standard email validation | No |
| Q | houseno | Ignored | - | - | Not used | No |
| R | address1 | Policy Holder Building Name/Number | 50 | string | Special characters allowed | No |
| S | address2 | Policy Holder Street | 100 | string | Special characters allowed | No |
| T | address3 | Policy Holder District | 100 | string | Special characters allowed | No |
| U | address4 | Policy Holder Town | 100 | string | Special characters allowed | No |
| V | county | Policy Holder County | 100 | string | Special characters allowed | No |
| W | postcode | Policy Holder Postcode | 10 | string | Standard postcode validation | No |
| X | reg | VRM | 10 | string | Standard vehicle registration validation | Yes |
| Y | type | Car Class | 20 | string | Special characters allowed | No |
| Z | capcode | CAPID | 20 | string | Special alphanumeric characters allowed | No |
| AA | description | Vehicle Make | 150 | string | Special characters allowed | No |
| AB | colour | Colour | 100 | string | Special characters allowed | No |
| AC | capid | Ignored | - | - | Not used | No |
| AD | fnetid | Ignored | - | - | Not used | No |
| AE | vinno | VIN | 17 | string | Alphanumeric characters allowed | No |
| AF | purchaseprice | Vehicle Purchase Price | 8 | number | nnnnn.nn | No |
| AG | dofr | Date of First Registration | 10 | date | DD/MM/YYYY | No |
| AH | mileage | Mileage | 6 | number | Numeric value | No |
| AI | stockno | Asset Number | 20 | string | Special alphanumeric characters allowed | No |
| AJ | motdue | MOT Due Date | 10 | date | DD/MM/YYYY | No |
| AK | cde | Product Type | 30 | string | Special characters allowed | No |
| AL | period | Policy Term | 2 | string | Numeric value | No |
| AM | startdate | Policy Start Date | 10 | date | DD/MM/YYYY | Yes |
| AN | purchaseprice_prod | Policy Purchase Price | 8 | number | nnnnn.nn | No |
| AO | retailprice | Policy Retail Price | 8 | number | nnnnn.nn | No |
| AP | costprice | Policy Cost Price | 8 | number | nnnnn.nn | No |
| AQ | purchasedate | Purchase Date | 10 | date | DD/MM/YYYY | No |
| AR | intcode | Ignored | - | - | Not used | No |
| AS | claimlimit | Claim Limit | 8 | number | nnnnn.nn | No |
| AT | dealergroup | Purchase Location (Group) | 150 | string | Special characters allowed | No |
| AU | dealername | Purchase Location (Site) | 150 | string | Special characters allowed | No |
Related Guides
- For scheduler setup, see Creating PVM Policy Import Schedulers.
- For a full operator walkthrough, see Running a PVM Policy Import End to End.
- For more details on the shared import flow, see BigQuery Import Strategy.
Key Behaviours
- PVM import uses only one file (no benefits file).
- One row represents one policy.
subCustomerIdis matched from lease sub-customers bylocation == customerAccountNumber.startDate,issueDate,purchaseDate,motDue, anddateOfFirstRegistrationare normalized to ISO dates.endDateis derived fromstartDate + period months - 1 day.- Rows with
endDatein the past are skipped during validation (SKIPPEDlog). - If multiple rows exist for the same
VRM, they are aggregated into one vehicle with multiple policies. - Delta import (
reimportAll = false) imports only changed/new rows by hash comparison. - If
reimportAllis enabled, all rows from merged output are imported. - If
shouldTerminateis enabled, vehicles missing from the latest raw file can be marked terminated.
Status: Pending Approval
Category: Protected
Authored By: Aditya on Jul 16, 2026